Fog computing is a system level architecture that extends the compute networking and storage capabilities of cloud to the edge of Internet of things (IoT) networks. Fog Computing is a highly virtualized platform that provides compute, storage, and networking services between end devices and traditional Cloud Computing Data Centers, typically but not exclusively, located at the edge of network. A Fog node is a physical network device that implements the Fog network. A Fog node may be connected by a network facility to an IoT device and/or a gateway to the cloud. Many IoT networks run mission critical and even life critical applications. Power in particular is a key failure mode in many IoT networks, and if efficient reliable power options are not available for them, the application space of Fog computing and IoE may be severely limited.